This invention relates to a method and apparatus for controlling the solenoid current of a solenoid valve which controls the amount of suction air in an internal combustion engine, and more particularly, to a method and apparatus for controlling the solenoid current of a solenoid valve which controls the amount of suction air in an internal combustion engine wherein the solenoid current is controlled for proportionally controlling the opening of a solenoid valve connected in a by-pass path which couples the upstream and downstream sides of a throttle valve provided in a suction air path.
Referring to FIG. 11, it has been previously proposed that in idling of an internal combustion engine 10, the engine continues to run while a throttle valve 11, provided in a suction air path of the engine, is held in a substantially closed condition. The amount of suction air of the internal combustion engine is controlled by a solenoid valve 12 provided in a by-pass path 13 between the upstream and downstream side of the throttle valve in order to control the rotational speed of the engine (idling rotating speed). Such an idling rotational speed controlling method is disclosed in detail, for example, in Japanese patent application No. 60-137445.
The idling rotational speed controlling method in Japanese patent application No. 60-137445 includes a step of first calculating a solenoid current control value Icmd by an equation (1) given below in a central processor (CPU) 1 of a microprocessor 4 which further includes, as shown in FIG. 2, a storage unit or memory 2 and an input/output signal converting circuit or interface 3.
In order to calculate Icmd in the CPU 1, the interface 3 must be supplied with signals from various sensors suitably located in the engine (not shown). This is well known in the art. EQU Icmd=[Ifb(n)+Ie+Ips+Iat+Iac].times.Kpad (1)
In equation (1), Ifb(n) is a feedback control term which is calculated in accordance with the flow chart of FIG. 3 which will be hereinafter described. Here, (n) indicates the present time value. The calculations of steps S41 to S46 of FIG. 3 are described as follows:
Step S41 . . . the value Me(n), which is the reciprocal of the engine rotational speed, is read.
Step S42 . . . a deviation .DELTA.Mef is calculated which is the difference between Me(n) thus read and Mrefo which is a reciprocal of a preset aimed idling rotational speed Nrefo.
Step S43 . . . a difference between Me(n) and a preceding time measured value Me for the same cylinder as Me(n) [in the case of a six cylinder engine, Me(n-6)], that is, a coefficient of variation .DELTA.Me of the period, is calculated.
Step S44 . . . an integration term Ii, a proportion term Ip, and a differentiation term Id are calculated in accordance with respective equations indicated in the block of FIG. 3 for the Step S44 using .DELTA.Me and .DELTA.Mef calculated above as well as an integration term control gain Kim, a proportion term control gain Kpm, and a differentiation term control gain Kdm. The control gains are obtained by recalling them from the memory 2 where they were stored in advance.
Step S45 . . . the integration term Ii obtained in the preceding Step S44 is added to Iai(n-1) to obtain Iai(n). Iai(n) obtained here is temporarily stored in the memory 2 so that this may be Iai(n-1) for the next cycle. However, when there is no value stored in the memory 2, some initial value of Iai may be stored in the memory 2 in advance to be read out therefrom as Iai(n-i).
Step S46 . . . Ip and Id calculated at Step S44 are added to Iai(n) calculated at Step S45 to obtain Ifb(n) which is defined as a feedback control term.
The terms in equation (1) other than Ifb(n) are defined as follows:
Ie . . . an addition correction term for adding a predetermined value in accordance with a load of an AC generator (ACG), that is, the field current of the ACG.
Ips . . . an addition correction term for adding a predetermined value when a pressure switch in a power steering hydraulic circuit is turned on.
Iat . . . an addition correction term for adding a predetermined value when the selector position of an automatic transmission AT is in the drive (D) range.
Iac . . . an addition correction term for adding a predetermined value when an air conditioner is operative.
Kpad . . . a multiplication correction term determined in accordance with the atmospheric pressure.
Icmd in equation (1) is calculated in response to TDC pulses produced by a known means when the piston of each cylinder is at an angle of 90.degree. before its top dead center.
Icmd calculated by equation (1) is further converted in the CPU 1, for example, into a duty ratio of pulse signals having a fixed period. The CPU 1 contains a periodic timer and a pulse signal high level time (pulse duration) timer which operates in a synchronized relationship so that pulse signals having a predetermined high level time or duration are successively developed from the microprocessor 4 for each predetermined period. The pulse signals are applied to the base of a solenoid driving transistor 5. Consequently, the transistor 5 is driven to be turned on and off in response to the pulse signals.
Referring to FIG. 2, in response to the on state of the solenoid driving transistor 5, an electric current from battery 6 flows through a solenoid 7 and the transistor 5 to the ground. Accordingly, the opening of a solenoid valve is controlled in accordance with the solenoid current, and an amount of suction air corresponding to the opening of the solenoid valve is supplied to the internal combustion engine to control the idling rotational speed.
Conventionally in a feedback control mode of the engine rotational speed, a determined value Ixref(n) is calculated by equation (2), below, and stored into the memory 2. EQU Ixref(n) =Iai(n).times.Ccrr/m+Ixref(n-1).times.(m-Ccrr)/m . . . . (2)
Iai(n) in equation (2) is a value calculated at Step S45 of FIG. 3 described above, and Ixref(n-1) indicates the value of the determined value Ixref for the preceding time period. Further, m and Ccrr are selected positive values, and m is selected greater than Ccrr.
The calculation of the value Ixref(n) is effected in response to a TDC pulse when predetermined requirements are met, such as, for example, a requirement that there is no external load such as an air conditioner, as is apparent from the above mentioned Japanese patent application No. 60-137445.
When the solenoid valve of the internal combustion engine turns from the feedback control mode to an open loop control mode which is effected during operation other than idling, a pulse signal is developed from the microprocessor 4 in response to Icmd which is equal to the determined value Ixref(n), and the current flowing through the solenoid 7 and hence the opening of the solenoid valve is held to a predetermined value corresponding to the determined value Ixref(n). This is because it is intended that the initial opening of the solenoid valve when the internal combustion engine switches from the open loop control mode back to the feedback control mode may approach as near as possible to the opening corresponding to Icmd in the feedback control mode so that the time before a stabilized normal control condition is reached may be shortened.
Icmd in the open loop control mode is calculated by the following equation (3), similar to equation (1) above, so that pulse signals corresponding to the Icmd thus calculated may be developed from the microprocessor 4. EQU Icmd=(Ixref+Ie+Ips+Iat+Iac).times.Kpad (3)
If Icmd is calculated in this manner and the solenoid current is determined in accordance with pulse signals corresponding to Icmd when the internal combustion engine switches from the open loop control mode back to the feedback control mode, the initial opening is reached in which an external load such as, for example, an air conditioner, is taken in consideration. This is desirable because the time required before an opening corresponding to Icmd for the feedback control mode is reached is further shortened.
The techniques described above, however, have the following drawbacks:
The resistance component of the solenoid 7 changes in response to a change in the temperature as is well known in the art. Because the solenoid valve having the solenoid 7 is commonly located near an engine body, it is readily influenced by the temperature of the engine. Accordingly, the resistance component of the solenoid 7 is readily changed.
If the resistance component of the solenoid 7 changes, a solenoid current corresponding to Icmd will not flow, and as a result, the opening of the solenoid valve which is expected by Icmd will not be attained. However, during feedback control, if a predetermined time elapses with feedback control of the engine rotational speed in accordance with FIG. 3 and equation (1), coincidence with an aimed idling rotation speed will be reached. However, the PID coefficient (control gain) of the feedback control term Ifb(n) is normally set to a small value with the stability during normal idling being taken into consideration. Accordingly, feedback control based on Ifb(n) is normally done slowly. Consequently, the techniques have a drawback in that when the resistance component of the solenoid 7 changes, a long period of time is required until the engine rotational speed reaches the aimed idling rotational speed after the feedback control has started.
Further, the techniques have another drawback in that when there is a difference in temperature around the solenoid 7 between a point in time when the determined value Ixref is calculated, during feedback control, and another point in time when the determined value Ixref is used as an initial value for feedback control, or when the temperature around the solenoid 7 exhibits a change while the opening of the solenoid valve is under open loop control, the resistance of the solenoid 7 will change and thus, a desired opening of the solenoid valve, that is, the opening which is expected by Icmd, will not be reached.
A means which resolves such drawbacks has been proposed by the present applicant which includes, in addition to a conventional engine rotational speed feedback control system, a current feedback control system for feeding back an actual electric current flowing through a solenoid 7 whereby a solenoid current control value calculated in the engine rotational speed feedback control system, is corrected with a correction value calculated by the current feedback control system in a manner described below, and a signal, determined depending upon the thus corrected solenoid current control value, is applied to a solenoid current controlling means to control the solenoid current.
The corrected value is obtained by detecting an actual solenoid current, calculating a deviation of the actual solenoid current from the solenoid current control value, multiplying the deviation by a proportional term control gain to calculate a proportional term while multiplying the deviation by an integration term control gain and adding a preceding time integration term to the thus multiplied deviation to calculate an integration term, and then adding the integration term to the proportion term.
To describe the foregoing method in summary, even if, for example, the resistance component of the solenoid 7 changes such that a condition occurs in which a solenoid current does not correspond to a solenoid current control value, control of the current feedback control system will result in a solenoid current corresponding to the solenoid current control value.
In the technique described above wherein the current feedback control system is provided in addition to an engine rotational speed feedback control system there are the following disadvantages.
(1) Individual control gains for proportion and integration terms in the current feedback control system are normally set to low values taking into account stability during normal idling. Accordingly, even if an attempt is made to provide a solenoid current corresponding to a solenoid current control value under control of the current feedback control system, since the resistance component of the solenoid 7 varies such that a condition occurs in which a solenoid current corresponding to the solenoid current control value does not flow, such a predetermined current value cannot be immediately obtained. As a result, the engine rotational speed will temporarily fluctuate (for example, become lowered).
(2) Although calculation of an integration term for calculating a corrected value is effected by multiplying a deviation by an integration term control gain and adding a preceding time integration term to the thus multiplied deviation, upon starting of current feedback control, that is, when an ignition switch is turned on to start the engine, there is no preceding time integration term or value yet calculated. Thus, a method can be used wherein a corrected value is determined and the thus determined value is used as a preceding time integration value upon starting of current feedback control. Using this method, the period time before the solenoid current reaches a value corresponding to a solenoid current control value is shortened as compared with the case wherein the preceding time integration value is set to zero, and accordingly, the engine rotational speed can rise rapidly to a predetermined rotational speed corresponding to the solenoid current control value.
Besides, since there is variation in characteristics among individual solenoid valves, there is a variation in time before the solenoid current reaches a value corresponding to the solenoid current control value. Consequently, there will be a variation in time before the engine rotational speed rises to the predetermined rotational speed corresponding to the solenoid current control value. But if a determined value is used as described hereinabove, the variation will become very small because the period of time before the solenoid current reaches a value corresponding to the solenoid current control value is shortened.
However, where a correction value as described above varies widely in response to a change in a resistance component depending upon a change in temperature of a solenoid, a determined value will involve a change in temperature of the solenoid and hence an appropriate value will not be assured. This is because a determined value is used as a preceding time integration value when the engine is started as described above, and hence the solenoid will not be significantly influenced by the temperature of the engine.